"""
Python中主要有四种循环方式：for循环、while循环、列表推导式和迭代器。让我们逐一看看：
1、for 循环
    # 1.1 遍历列表
    fruits = ['苹果', '香蕉', '橙子']
    for fruit in fruits:
        print(fruit)

    # 1.2 遍历范围
    for i in range(5):  # 0,1,2,3,4
        print(i)

    # 1.3 遍历字典
    person = {'name': '张三', 'age': 20}
    for key in person:
        print(f"{key}: {person[key]}")
    # 或者
    for key, value in person.items():
        print(f"{key}: {value}")

    # 1.4 带索引的遍历
    for index, value in enumerate(fruits):
        print(f"索引 {index}: {value}")
2、while 循环
    # 2.1 基本while循环
    count = 0
    while count < 5:
        print(count)
        count += 1

    # 2.2 带break的while循环
    while True:
        user_input = input("请输入q退出：")
        if user_input == 'q':
            break

    # 2.3 带continue的while循环
    i = 0
    while i < 10:
        i += 1
        if i % 2 == 0:  # 跳过偶数
            continue
        print(i)
3、列表推导式
    # 3.1 基本列表推导式
    squares = [x**2 for x in range(10)]

    # 3.2 带条件的列表推导式
    even_squares = [x**2 for x in range(10) if x % 2 == 0]

    # 3.3 字典推导式
    square_dict = {x: x**2 for x in range(5)}

    # 3.4 集合推导式
    square_set = {x**2 for x in range(5)}
4、迭代器和生成器
    # 4.1 使用迭代器
    my_list = [1, 2, 3]
    iterator = iter(my_list)
    print(next(iterator))  # 1
    print(next(iterator))  # 2

    # 4.2 生成器函数
    def count_up_to(n):
        i = 1
        while i <= n:
            yield i
            i += 1

    for num in count_up_to(5):
        print(num)
5、特殊的循环控制
    # 5.1 break - 跳出整个循环
    for i in range(5):
        if i == 3:
            break
        print(i)

    # 5.2 continue - 跳过当前迭代
    for i in range(5):
        if i == 2:
            continue
        print(i)

    # 5.3 else 子句（当循环正常完成时执行）
    for i in range(3):
        print(i)
    else:
        print("循环正常完成")
6、嵌套循环
    # 6.1 基本嵌套循环
    for i in range(3):
        for j in range(2):
            print(f"i={i}, j={j}")

    # 6.2 九九乘法表
    for i in range(1, 10):
        for j in range(1, i+1):
            print(f"{j}×{i}={i*j}", end='\t')
        print()  # 换行
主要特点：
1. for 循环最常用，适合已知循环次数的情况
2. while 循环适合未知循环次数的情况
3. 列表推导式简洁高效，适合简单的列表生成
4. 生成器适合处理大量数据时节省内存
5. break/continue 提供更灵活的控制
6. 循环可以嵌套使用

选择建议：
1. 优先使用 for 循环
2. 需要条件控制时使用 while
3. 简单列表生成用列表推导式
4. 处理大数据时考虑使用生成器
"""

# for <变量> in <范围/序列>:
#     <循环操作语句>
for item in range(10):
    print(f"你好 {item + 1}，韩顺平教育！")
